package com.tzxx.spider.domain;

import lombok.Data;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

/**
 * 待爬取文章列表的模板对象
 *
 * @author Created by tzxx
 * @since : 2019/7/19.
 */
@Data
@Entity
@Table
public class Template implements Serializable {
    private static final long serialVersionUID = -5613427783494298340L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @TableId(value = "id",type = IdType.AUTO)//指定自增策略
    private long id;
    /**
     * 网站域名
     */
    private String domain;
    /**
     * 列表页网址
     */
    private String listUrl;
    /**
     * 若列表页url有序，递增规则
     */
    private String listUrlRule;
    /**
     * 若列表页url有序，列表页最大数
     * eg:
     *      若只想爬前10个列表页的文章，则此处填10
     */
    private Integer listUrlMaxNum = 10;
    /**
     * 若文章页url有序，递增规则
     */
    private String articleUrlRule;
    /**
     * 若文章页url有序，文章页最大数
     * eg:
     *      若只想爬前100篇文章，则此处填100
     */
    private Integer articleUrlMaxNum;
    /**
     * 爬取类型
     */
    private short type = 0;
    /**
     * 请求对象
     */
    @Column(columnDefinition = "text")
    private String requestBody;
    /**
     * 列表选择器
     */
    private String listItemSelector;
    /**
     * 标题选择器
     */
    private String titleSelector;
    /**
     * 时间选择器
     */
    private String timeSelector;
    /**
     * 作者选择器
     */
    private String authorSelector;
    /**
     * 内容选择器
     */
    private String contentSelector;
}
